package com.example.review;

import org.apache.kafka.clients.producer.Partitioner;
import org.apache.kafka.common.Cluster;

import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * ClassName: MyProtitioner
 * Package: com.example.review
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 * Date: 2023-08-05
 * Time: 11:26
 */


//自定义分区器 实现 分区器接口
public class MyPartitioner implements Partitioner {


    //主要 要实现的方法 参数分别表示 主题 key值 两个字节数组表示 序列化之后的key和val
    //参数类型不能改变
    @Override
    public int partition(String topic, Object key, byte[] bytes, Object value, byte[] bytes1, Cluster cluster) {

        //获取传来的数据
        String s = value.toString();
        //定义分区
        int partition;

        if (s.contains("atguigu")){
            partition = 0;
        }else {
            partition = 1;
        }
        return partition;
    }

    @Override
    public void close(){
    }

    @Override
    public void configure(Map<String, ?> map) {
    }
}
